using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration; using Sispe.Entities;

namespace Sispe.Repository.Mapping
{
    public class HISTORIAL_CAMBIOS_TRABAJADORMap : EntityTypeConfiguration<HISTORIAL_CAMBIOS_TRABAJADOR>
    {
        public HISTORIAL_CAMBIOS_TRABAJADORMap()
        {
            // Primary Key
            this.HasKey(t => t.IdHistorialCambios);

            // Properties
            this.Property(t => t.Constanciasact)
                .HasMaxLength(50);

            this.Property(t => t.Constanciasant)
                .HasMaxLength(50);

            this.Property(t => t.NroCuentaact)
                .HasMaxLength(350);

            this.Property(t => t.NroCuentaant)
                .HasMaxLength(350);

            // Table & Column Mappings
            this.ToTable("HISTORIAL_CAMBIOS_TRABAJADOR");
            this.Property(t => t.IdTrabajador).HasColumnName("IdTrabajador");
            this.Property(t => t.Hijosact).HasColumnName("Hijosact");
            this.Property(t => t.Hijosant).HasColumnName("Hijosant");
            this.Property(t => t.Constanciasact).HasColumnName("Constanciasact");
            this.Property(t => t.Constanciasant).HasColumnName("Constanciasant");
            this.Property(t => t.NroCuentaact).HasColumnName("NroCuentaact");
            this.Property(t => t.NroCuentaant).HasColumnName("NroCuentaant");
            this.Property(t => t.EstadoCivilact).HasColumnName("EstadoCivilact");
            this.Property(t => t.EstadoCivilant).HasColumnName("EstadoCivilant");
            this.Property(t => t.RegimenPensionarioact).HasColumnName("RegimenPensionarioact");
            this.Property(t => t.RegimenPensionarioant).HasColumnName("RegimenPensionarioant");
            this.Property(t => t.FechaInicio).HasColumnName("FechaInicio");
            this.Property(t => t.FechaInicioant).HasColumnName("FechaInicioant");
            this.Property(t => t.FechaTermino).HasColumnName("FechaTermino");
            this.Property(t => t.FechaTerminoant).HasColumnName("FechaTerminoant");
            this.Property(t => t.RemBruta).HasColumnName("RemBruta");
            this.Property(t => t.RemBrutaant).HasColumnName("RemBrutaant");
            this.Property(t => t.RemLiquida).HasColumnName("RemLiquida");
            this.Property(t => t.RemLiquidaant).HasColumnName("RemLiquidaant");
            this.Property(t => t.Bonos).HasColumnName("Bonos");
            this.Property(t => t.Bonosant).HasColumnName("Bonosant");
            this.Property(t => t.Fecha).HasColumnName("Fecha");

            // Relationships
            this.HasRequired(t => t.TRABAJADOR)
                .WithMany(t => t.HISTORIAL_CAMBIOS_TRABAJADOR)
                .HasForeignKey(d => d.IdTrabajador);

        }
    }
}
